﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EstoqueUnifeiADO.Dados.dsEstoqueProdutoTableAdapters;
using EstoqueUnifeiADO.Dados.dsMovimentacaoTableAdapters;

namespace EstoqueUnifeiADO
{

    public partial class frmGerenciarEstoques : System.Web.UI.Page
    {
        private MOVIMENTOTableAdapter _servicoMovimento;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ctrlRetiradaProduto1.CodEstoqueOrigem = ddlEstoques.SelectedValue;
                ctrlTransferenciaProduto1.CodEstoqueOrigem = ddlEstoques.SelectedValue;
            }
            _servicoMovimento = new MOVIMENTOTableAdapter();


        }

        protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
        {
            switch (e.Item.Value)
            {
                case "Inserir":
                    modalInserir.Show();
                    break;
                case "Retirar":
                    modalRetirar.Show();
                    break;
                case "Transferir":
                    modalTransferir.Show();
                    break;
                default:
                    break;
            }
        }

      

        #region Entrada de Produtos Eventos
        protected void EntrarCancelado(object sender, EventArgs e) 
        {
            modalInserir.Hide();
            ctrlEntrarProduto1.Clear();

        }
        protected void EntrarProdutos(object sender, EntradaProdutoArgs e) 
        {
            try
            {
                _servicoMovimento.MovimentaEstoque(e.Produtos,
                    null,
                    Convert.ToInt32(ddlEstoques.SelectedValue),
                    e.Observacao,
                    1,
                    null,
                    TipoMovimentacao.EntradaProduto,
                    null);
            }
            catch (Exception ex)
            {
                e.Cancelar = true;
                e.MensagemDeErro = ex.Message;
                
            }

        }
        protected void EntrarConcluido(object sender, EventArgs e) 
        {
            modalInserir.Hide();
            ctrlEntrarProduto1.Clear();
            GridView1.DataBind();
        }
        #endregion

        #region Retiradada de Produtos Eventos

        protected void RetirarCancelado(object sender, EventArgs e)
        {
            modalRetirar.Hide();
            ctrlRetiradaProduto1.Clear();

            
        }
        protected void RetirarProdutos(object sender, RetiradaProdutoArgs e)
        {
            try
            {
                _servicoMovimento.MovimentaEstoque(e.Produtos,
                    Convert.ToInt32(ddlEstoques.SelectedValue),
                    null,
                    e.Observacao,
                    1,
                    null,
                    TipoMovimentacao.RetiradaProduto,
                    null);
            }
            catch (Exception ex)
            {
                e.Cancelar = true;
                e.MensagemDeErro = ex.Message;
            }

        }
        protected void RetirarConcluido(object sender, EventArgs e)
        {
            modalRetirar.Hide();
            ctrlRetiradaProduto1.Clear();
            GridView1.DataBind();
        }
        #endregion

        #region Tranferencia de Produtos Eventos

        protected void TransferirCancelado(object sender, EventArgs e)
        {
            modalTransferir.Hide();
            ctrlTransferenciaProduto1.Clear();
        }
        protected void TransferirProdutos(object sender, TransferenciaProdutosArgs e)
        {
            try
            {
                _servicoMovimento.MovimentaEstoque(e.Produtos,
                    Convert.ToInt32(ddlEstoques.SelectedValue),
                    e.CodEstoqueDestino,
                    e.Observacao,
                    1,
                    null,
                    TipoMovimentacao.TransferenciaProduto,
                    null);
            }
            catch (Exception ex)
            {
                e.Cancelar = true;
                e.MensagemDeErro = ex.Message;

            }
        }
        protected void TransferirConcluido(object sender, EventArgs e)
        {
            modalTransferir.Hide();
            ctrlTransferenciaProduto1.Clear();
            GridView1.DataBind();
            
        }
        #endregion

        protected void ddlEstoques_SelectedIndexChanged(object sender, EventArgs e)
        {
            ctrlRetiradaProduto1.CodEstoqueOrigem = ddlEstoques.SelectedValue;
            ctrlTransferenciaProduto1.CodEstoqueOrigem = ddlEstoques.SelectedValue;
        }

        protected void ddlEstoques_DataBound(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ctrlRetiradaProduto1.CodEstoqueOrigem = ddlEstoques.SelectedValue;
                ctrlTransferenciaProduto1.CodEstoqueOrigem = ddlEstoques.SelectedValue;
            }
        }
    }
}